Loggest thine Stuff
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
933 B

2 years ago
  1. import type { RequestHandler } from "@sveltejs/kit";
  2. export const get: RequestHandler = async({ request, url, params, locals }) => {
  3. const proxyUrl = `${import.meta.env.VITE_STUFFLOG3_API}/api/${params.any}${url.search}`;
  4. const headers = {};
  5. if (locals.idToken != null) {
  6. headers["Authorization"] = `Bearer ${locals.idToken}`;
  7. } else if (request.headers.get("authorization") != null) {
  8. headers["Authorization"] = request.headers.get("authorization");
  9. }
  10. const res = await fetch(proxyUrl, {
  11. method: request.method,
  12. headers: headers,
  13. body: request.body,
  14. }).catch(err => {
  15. console.warn(err);
  16. throw err;
  17. });
  18. const result = {
  19. status: res.status,
  20. body: await res.text(),
  21. headers: {},
  22. }
  23. res.headers.forEach((v, k) => {
  24. result.headers[k] = v;
  25. })
  26. return result;
  27. }
  28. export const options = get;
  29. export const post = get;
  30. export const put = get;
  31. export const del = get;